package com.rykj.qxj.server.services;

import com.github.pagehelper.PageInfo;
import com.rykj.qxj.server.model.entity.AuditRecord;
import com.rykj.qxj.server.model.entity.MetadataElement;
import com.rykj.qxj.server.model.param.AuditParams;
import com.rykj.qxj.server.model.param.AuditTableParams;

import java.util.List;
import java.util.Map;

public interface IAuditManageService {

    public PageInfo getAuditRecordList(Integer pageNum, Integer pageSize, String applyName, Integer applyId, String tableName, String auditStatus, String changeType, Integer databaseId);


    public Map<String, Object> getAuditRecordDetails(Integer auditId);


    public String updateAuditOperation(AuditParams auditParams) throws Exception;

    public List<MetadataElement> getAuditFieldDetails(Integer auditId) ;

    /**
     * @param auditRecord
     */
    public String saveAuditRecord(AuditRecord auditRecord) throws Exception;


    public void deleteTableAudit(AuditTableParams auditTableParams) ;

    public List<MetadataElement> getDropAuditFieldDetails(Integer auditId) ;

    public String updateAuditElements(List<MetadataElement> metadataElements) ;

    public void updateAuditStatus(Integer auditId, String auditStatus) ;

    public String addAuditElements(List<MetadataElement> metadataElements) ;

    public void deleteAuditElement(Integer auditElementId);
}
